package com.ehotting.edsta.circuitDesign.service.impl;

import java.util.List;

import com.ehotting.edsta.circuitDesign.enums.CircuitTypeEnum;
import com.ehotting.edsta.circuitDesign.domain.EsCircuitType;
import com.ehotting.edsta.circuitDesign.mapper.EsCircuitTypeMapper;
import com.ehotting.edsta.circuitDesign.service.IEsCircuitTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


/**
 * 电路类型Service业务层处理
 * 
 * @author edsta
 * @date 2023-07-24
 */
@Service
public class EsCircuitTypeServiceImpl implements IEsCircuitTypeService{

    @Autowired
    private EsCircuitTypeMapper esCircuitTypeMapper;

    /**
     * 查询电路类型
     * 
     * @param id 电路类型主键
     * @return 电路类型
     */
    @Override
    public EsCircuitType selectEsCircuitTypeById(Long id)
    {
        return esCircuitTypeMapper.selectEsCircuitTypeById(id);
    }

    /**
     * 查询电路类型列表
     * 
     * @param esCircuitType 电路类型
     * @return 电路类型
     */
    @Override
    public List<EsCircuitType> selectEsCircuitTypeList(EsCircuitType esCircuitType)
    {
        return esCircuitTypeMapper.selectEsCircuitTypeList(esCircuitType);
    }

    /**
     * 新增电路类型
     * 
     * @param esCircuitType 电路类型
     * @return 结果
     */
    @Override
    public int insertEsCircuitType(EsCircuitType esCircuitType)
    {
        return esCircuitTypeMapper.insertEsCircuitType(esCircuitType);
    }

    /**
     * 修改电路类型
     * 
     * @param esCircuitType 电路类型
     * @return 结果
     */
    @Override
    public int updateEsCircuitType(EsCircuitType esCircuitType)
    {
        return esCircuitTypeMapper.updateEsCircuitType(esCircuitType);
    }

    /**
     * 批量删除电路类型
     * 
     * @param ids 需要删除的电路类型主键
     * @return 结果
     */
    @Override
    public int deleteEsCircuitTypeByIds(Long[] ids)
    {
        return esCircuitTypeMapper.deleteEsCircuitTypeByIds(ids);
    }

    /**
     * 删除电路类型信息
     * 
     * @param id 电路类型主键
     * @return 结果
     */
    @Override
    public int deleteEsCircuitTypeById(Long id)
    {
        return esCircuitTypeMapper.deleteEsCircuitTypeById(id);
    }



    @Override
    public EsCircuitType selectEsCircuitTypeByCircuitType(CircuitTypeEnum circuitType) {
        EsCircuitType  esCircuitType = new EsCircuitType();
        esCircuitType.setCircuitType(circuitType);
        List<EsCircuitType> circuitTypeList =  esCircuitTypeMapper.selectEsCircuitTypeList(esCircuitType);
        if(circuitTypeList.size()>0){
            return circuitTypeList.get(0);
        }
        return null;
    }

    @Override
    public Long selectCircuitTypeIdByName(String name) {
        return esCircuitTypeMapper.selectCircuitTypeIdByName(name);
    }

    @Override
    public Long selectByCircuitTypeValue(String value) {
        return esCircuitTypeMapper.selectByCircuitTypeValue(value);
    }
}
